package com.jwmp.rbac.mapper;

import com.jwmp.core.util.QueryObject;
import com.jwmp.rbac.domain.Department;
import com.jwmp.rbac.domain.Employee;
import com.jwmp.rbac.domain.Role;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface DepartmentMapper {
    /**
     * 添加部门
     * @param dept
     */
    void insert(@Param("dept") Department dept);

    /**
     * 根据 id 修改部门
     * @param dept
     */
    void update(@Param("dept") Department dept);

    /**
     * 修改部门状态
     * @param id
     */
    void updateStatus(@Param("id") Long id,@Param("status") Boolean status);

    /**
     * 查询所有的部门，不包括部门对应的员工
     * @return
     */
    List<Department> selectList(@Param("qo") QueryObject qo,@Param("status") Boolean status);

    /**
     * 查询满足条件的总记录数
     * @return
     */
    int selectCount(@Param("qo") QueryObject qo);

    /**
     * 根据 id 查询部门信息，包括权限
     * @param id
     * @return
     */
    Department selectOne(@Param("id") Long id);
}
